package com.xjm_cloud_admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xjm_cloud_admin.domain.XjmUser;
import com.xjm_cloud_admin.domain.vo.req.RegisterReqVo;
import com.xjm_cloud_admin.domain.vo.req.UserInfoReqVo;
import com.xjm_cloud_admin.util.R;
import com.xjm_cloud_admin.domain.vo.req.UserLoginReqVo;
import org.springframework.web.multipart.MultipartFile;

/**
 * 用户表(XjmUser)表服务接口
 *
 * @author 浪漫写尽歌谱
 * @since 2024-04-22 16:23:27
 */
public interface XjmUserService extends IService<XjmUser> {

    /**
     * 用户登录
     *
     * @param xjmUser 用户信息
     * @return 登录结果
     */
    R login(UserLoginReqVo xjmUser);

    /**
     * 根据邮箱前缀查询用户信息
     *
     * @param username 用户邮箱前缀
     * @return 用户信息
     */
    XjmUser selectUserByUserName(Long username);

    /**
     * 获取用户信息
     *
     * @return 用户信息
     */
    R info();

    /**
     * 更新用户信息
     * @param vo 用户信息
     * @return 更新结果
     */
    R update(UserInfoReqVo vo);

    /**
     * 修改头像
     *
     * @param file 文件
     */
    R avatar(MultipartFile file);

    /**
     * 注册
     * @param vo 注册信息
     * @return
     */
    R register(RegisterReqVo vo);

}